package it.banca.terra.main;

import javax.swing.Icon;
import javax.swing.ImageIcon;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;

/**
 * Classe che si occupa di mostrare i vari messaggi a video.
 * @author Gruppo Terra
 */
public  class  Messaggi {
	/**
	 * Mostra un messaggio.
	 * @param messaggio Messaggio da stampare.
	 */
	public static void mostraMessaggio(String messaggio){
		JOptionPane.showMessageDialog(null, messaggio, "Informazione", JOptionPane.INFORMATION_MESSAGE);
	}
	
	/**
	 * Mostra un messaggio di errore.
	 * @param messaggio Messaggio di errore da stampare.
	 */
	public static void mostraMessaggioErrore(String messaggio){
		JOptionPane.showMessageDialog(null, messaggio, "Avviso", JOptionPane.ERROR_MESSAGE);
	}

	/**
	 * Mostra saluti iniziali e finale.
	 * @param immagine Immagine da mostrare.
	 */
	public static void mostraSaluti(String immagine){
		Icon icon = new ImageIcon("images/" + immagine);
		JOptionPane.showMessageDialog(null, "", "Informazione", JOptionPane.INFORMATION_MESSAGE, icon);
	}

	/**
	 * Mostra una lista.
	 * @param lista Lista da mostrare.
	 */
	public static void mostraLista(String lista){
		JTextArea area = new JTextArea();
    	area.setText(lista);
    	area.setRows(10);
    	JScrollPane scrollpane = new JScrollPane(area);
    	Object[] array = {
    		new JLabel("Lista Richiesta: "),
    	    scrollpane,
    	};
    	JOptionPane.showMessageDialog(null, array, "Risultato Operazione", JOptionPane.PLAIN_MESSAGE);
	}
	
	/**
	 * Mostra un finestra dove inserire un input.
	 * @param messaggio 		Input inserito.
	 * @return {@link String}	Input da restituire.
	 */
	public static String getInput(String messaggio){
		String stringaInput = JOptionPane.showInputDialog(messaggio);	
		if(stringaInput == null){
			stringaInput="0";
		}
		return stringaInput;
	}
}
